]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st: Don't assert when corner texture creation fails
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 15 Apr 2016 17:05:04 +0000 (19:05 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 15 Apr 2016 17:05:04 +0000 (19:05 +0200)
src/st/st-theme-node-drawing.c

index 057b716b4a04cda047a89637bb4f6cf058e48b7d..85feb20cdd1b38af02e59e4909071dd9d0ab78a0 100644 (file)
@@ -182,7 +182,6 @@ create_corner_material (StCornerSpec *corner)
     }
 
   g_free (data);
-  g_assert (texture != COGL_INVALID_HANDLE);
 
   return texture;
 }
@@ -355,7 +354,7 @@ st_theme_node_lookup_corner (StThemeNode    *node,
                              float           height,
                              StCorner        corner_id)
 {
-  CoglHandle texture, material;
+  CoglHandle texture, material = COGL_INVALID_HANDLE;
   char *key;
   StTextureCache *cache;
   StCornerSpec corner;
@@ -404,8 +403,12 @@ st_theme_node_lookup_corner (StThemeNode    *node,
 
   key = corner_to_string (&corner);
   texture = st_texture_cache_load (cache, key, ST_TEXTURE_CACHE_POLICY_NONE, load_corner, &corner, NULL);
-  material = _st_create_texture_pipeline (texture);
-  cogl_handle_unref (texture);
+
+  if (texture)
+    {
+      material = _st_create_texture_pipeline (texture);
+      cogl_handle_unref (texture);
+    }
 
   g_free (key);